The present invention relates generally to a distributed job integrated management system which manages a plurality of distributed job management systems and a method thereof. More particularly, the present invention relates to an integrated management system and a method thereof which do not require dividing network resources for different distributed job management systems and in which network resources are efficiently utilized to realize high speed data processing.
FIG. 12 shows a structure of a conventional job processing system in which two different distributed job management systems are operating on a network. Network resources 23 are composed of a plurality of host systems, for example, a host system A and a host system B. Also, network resources 24 are composed of a plurality of host systems, for example, a host system C and a host system D. Each of the host systems comprise two CPU""s. There are two different distributed job management systems utilizing these host systems. The network resources 23 having the host system A and the host system B are managed or administered by the distributed job management system 21. The network resources 24 having the host system C and the host system D are managed or administered by the distributed job management system 22.
A distributed job management system is a system which allocates a CPU_A1 to a job xe2x80x9caxe2x80x9d, when the job xe2x80x9caxe2x80x9d is to be performed, and allocates a CPU_A2 to a job xe2x80x9cbxe2x80x9d, when the job xe2x80x9cbxe2x80x9d is to be performed, thereby having both jobs processed in parallel. That is, the job xe2x80x9caxe2x80x9d and the job xe2x80x9cbxe2x80x9d are processed by using the CPU_A1 and the CPU_A2, respectively. In this case, when processing of the job xe2x80x9cbxe2x80x9d, for example, is finished earlier, the CPU_A2 becomes an idle condition. Therefore, it becomes possible to allocate the CPU_A2 to a new job xe2x80x9ccxe2x80x9d to perform it. Thereby, the distributed job management system enables a whole processing to be performed quickly.
Concretely, the distributed job management system itself monitors the rate of operation of each CPU of the host systems which the distributed job management system administrates, and grasps the condition of execution of each job. Also, the distributed job management system grasps which job is allocated to which CPU, the condition of processing, the condition of execution of jobs, and the like. That is, the distributed job management system performs administration, monitoring, processing and analysis on the resources. By performing the analysis, it is possible for the distributed job management system itself to intelligently manage or administrate the CPU""s of the host systems, i.e., the resources, such that, for example, when any CPU is idle or when processing load of any CPU is light, the distributed job management system makes the processing load of that CPU full.
An example of a distributed job management system is described in Japanese patent laid-open publication No. 2-224169. The Japanese patent laid-open publication No. 2-224169 discloses an invention of a processing distributing system having a plurality of computer systems connected to a network. In the processing distributing system, a task management control portion divides a job injected to the system into tasks. The tasks are transferred to other computer systems to perform processing thereof according to parameters of the divided jobs, and processing result of the tasks processed by the other computer systems are integrated with the processing result of the tasks processed by its own computer system. By distributing the load within the network, resources in the network can be effectively utilized, processing load of each resource can be decreased, and waiting time of each job for processing can be shortened. Thereby, a turn around time (TAT) can be reduced.
However, in any of the above-mentioned conventional technique, the distributed job management systems respectively perform mutually different processing and are independent of each other. Therefore, it is impossible to administrate and monitor all the jobs which are inputted from one distributed job management system, from the other distributed job management system. Also, resources such as hardware and the like are completely separated every distributed job management system. As a result, even when, for example, the CPU_C2 of the distributed job management system 22 is not so fully utilized but the distributed job management system 21 is fully utilizing the CPU_A1, the CPU_A2, the CPU_B1 and the CPU_B2 and there is always no idle time in these CPUs, the distributed job management system 21 can not utilize the CPU_C2, because the CPU""s are completely separated every system.
As mentioned above, in case there are a plurality of different distributed job management systems on a network, since the distributed job management systems respectively use different job management method, it is impossible to administrate and monitor all the jobs given by one distributed job management system, from the other distributed job management system. It is necessary to statically separate the network resources every distributed job management system. Therefore, in the conventional technique, there is a disadvantage that jobs introduced or injected from every distributed job management systems can not share all the network resources.
Also, since the jobs injected can not share all the network resources, even when load of jobs injected from one distributed job management system is low, the turnaround time (TAT) of jobs introduced from any other distributed job management system is not shortened.
Therefore, it is an object of the present invention to obviate the disadvantages of a conventional job management system.
It is another object of the present invention to provide a distributed job integrated management system in which it is not necessary to separate network resources every different distributed job management system and, thereby, the network resources can be effectively utilized.
It is still another object of the present invention to provide a distributed job integrated management system in which jobs can be efficiently processed at high speed.
According to an aspect of the present invention, there is provided a distributed job integrated management system used in a networked computer system which comprises a plurality of host computer systems coupled to a common network, and a plurality of heterogeneous distributed job management systems each processes inputted jobs by using the host computer systems, wherein one of the distributed job management systems is used as a master distributed job management system and the rest of the plurality of distributed job management systems are used as slave distributed job management systems, and the master distributed job management system determines allocation of resources of the host computer systems to the master distributed job management system and to the slave distributed job management systems, based on the condition of usage of the resources of the host computer systems.
In this case, it is preferable that inputted jobs are allocated to the slave distributed job management systems or to the master distributed job management system via the master distributed job management system.
It is also preferable that the master distributed job management system has a master job queue for jobs to be processed by the master distributed job management system and a slave job queue for jobs to be processed by the slave distributed job management system, and inputted jobs are queued into the master job queue or into the slave job queue via the master distributed job management system.
It is advantageous that jobs are inputted from each of the plurality of host computer systems.
It is also advantageous that jobs can be inputted from each of the host computer systems with a command designating whether the jobs are to be processed by the slave distributed job management system or by the master distributed job management system.
It is further advantageous that jobs can be inputted from each of the host computer systems with a command designating a quantity of resources required for processing the jobs.
It is preferable that, when there are a plurality of the slave distributed job management systems, the master distributed job management system determine which of the slave distributed job management systems processes the jobs according to the condition of usage of network resources, so that jobs are uniformly distributed among the resources or among the slave distributed job management systems.
It is also preferable that the distributed job integrated management system further comprises: a resource reservation portion which gives information on a number of CPUs in the host computer systems required for jobs of the slave distributed job management system to the master distributed job management system; a resource allocation portion which allocates resources for the jobs of the slave distributed job management system by using a host name list corresponding to the number of CPU""s required for jobs of the slave distributed job management system; a slave main command injection portion which inputs a slave main command for processing jobs of the slave distributed job management system into the master distributed job management system; a slave main command monitoring portion which monitors execution of the slave main command; and a resource releasing portion which releases resources used for processing the jobs of the slave distributed job management system.
It is also preferable that the resource reservation portion issues dummy jobs to reserve resources used for processing jobs of the slave distributed job management system based on the number of CPU""s required for jobs of the slave distributed job management system.
According to another aspect of the present invention there is provided a method of distributed job integrated management system in a networked computer system comprising a plurality of host computer systems coupled to a common network, and a plurality of heterogeneous distributed job management systems each processes inputted jobs by using the host computer systems. In the method of distributed job integrated management, one of the distributed job management systems is used as a master distributed job management system and the rest of the plurality of distributed job management systems are used as slave distributed job management systems, and the master distributed job management system determines allocation of resources of the host computer systems to the master distributed job management system and to the slave distributed job management systems, based on the condition of usage of the resources of the host computer systems.
It is preferable that inputted jobs are allocated to the slave distributed job management systems or to the master distributed job management system via the master distributed job management system.
It is also preferable that the master distributed job management system has a master job queue for jobs to be processed by the master distributed job management system and a slave job queue for jobs to be processed by the slave distributed job management system, and inputted jobs are queued into the master job queue or into the slave job queue via the master distributed job management system.
In this case, it is possible to input jobs from each of the plurality of host computer systems.
It is also possible to input jobs from each of the host computer systems with a command designating whether the jobs are to be processed by the slave distributed job management system or by the master distributed job management system.
It is further possible to input jobs from each of the host computer systems with a command designating a quantity of resources required for processing the jobs.
It is preferable that, when there are a plurality of the slave distributed job management systems, the master distributed job management system determine which of the slave distributed job management systems processes the jobs according to the condition of usage of network resources, so that jobs are uniformly distributed among the resources or among the slave distributed job management systems.
It is also preferable that the method further comprises: providing information on a number of CPU""s in the host computer systems required for jobs of the slave distributed job management system to the master distributed job management system; allocating resources for the jobs of the slave distributed job management system by using a host name list corresponding to the number of CPU""s required for jobs of the slave distributed job management system; inputting a slave main command for processing jobs of the slave distributed job management system into the master distributed job management system; monitoring execution of the slave main command; and releasing resources used for processing the jobs of the slave distributed job management system.
It is also preferable that the providing information on a number of CPU""s comprises issuing dummy jobs corresponding to the number of CPU""s required for jobs of the slave distributed job management system to reserve resources used for processing jobs of the slave distributed job management.
According to still another aspect of the present invention, there is provided a storage medium storing a computer program for configuring a distributed job integrated management system used in a networked computer system which comprises a plurality of host computer systems coupled to a common network, and a plurality of heterogeneous distributed job management systems each processes inputted jobs by using the host computer systems, wherein one of the distributed job management systems is used as a master distributed job management system and the rest of the plurality of distributed job management systems are used as slave distributed job management systems, and the master distributed job management system determines allocation of resources of the host computer systems to the master distributed job management system and to the slave distributed job management systems, based on the condition of usage of the resources of the host computer systems.